package com.zhc.dejingapi.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * <p>
 * 
 * </p>
 *
 * @author zhc
 * @since 2024-10-08
 */
@Getter
@Setter
@Accessors(chain = true)
@TableName("qing_processplan")
@ApiModel(value = "QingProcessplanEntity对象", description = "")
public class QingProcessplanEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "main_id", type = IdType.AUTO)
    private Long mainId;

    @ApiModelProperty("applyId")
    @TableField("applyId")
    private Long applyId;

    @ApiModelProperty("工序计划编号")
    @TableField("process_plan_code")
    private String processPlanCode;

    @ApiModelProperty("工序计划状态")
    @TableField("process_plan_sts")
    private String processPlanSts;

    @ApiModelProperty("生产批号(ERP)")
    @TableField("batch_num")
    private String batchNum;

    @ApiModelProperty("erp订单Id")
    @TableField("erp_id")
    private String erpId;

    @ApiModelProperty("订单池应用编号")
    @TableField("order_pool_code")
    private String orderPoolCode;

    @ApiModelProperty("生产订单应用编号")
    @TableField("order_code")
    private String orderCode;

    @ApiModelProperty("订单日期")
    @TableField("order_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate orderDate;

    @ApiModelProperty("开工日期")
    @TableField("start_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate startDate;

    @ApiModelProperty("完工日期")
    @TableField("end_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate endDate;

    @ApiModelProperty("订单状态")
    @TableField("order_sts")
    private String orderSts;

    @ApiModelProperty("存货编码")
    @TableField("inv_code")
    private String invCode;

    @ApiModelProperty("存货名称")
    @TableField("inv_name")
    private String invName;

    @ApiModelProperty("规格型号")
    @TableField("inv_type")
    private String invType;

    @ApiModelProperty("生产数量")
    @TableField("prod_num")
    private Integer prodNum;

    @ApiModelProperty("煮水槽编号")
    @TableField("boiling_box_code")
    private String boilingBoxCode;

    @ApiModelProperty("煮水槽名称")
    @TableField("boiling_box_name")
    private String boilingBoxName;

    @ApiModelProperty("主计量单位编码")
    @TableField("unit_code")
    private String unitCode;

    @ApiModelProperty("主计量单位名称")
    @TableField("unit_name")
    private String unitName;

    @ApiModelProperty("生产订单类型")
    @TableField("prod_order_type")
    private String prodOrderType;

    @ApiModelProperty("工艺路线Id")
    @TableField("process_route_id")
    private Integer processRouteId;

    @ApiModelProperty("生产订单号(ERP)")
    @TableField("prod_order_code")
    private String prodOrderCode;

    @ApiModelProperty("生产订单行号(ERP)")
    @TableField("prod_order_line_num")
    private String prodOrderLineNum;

    @ApiModelProperty("工序行号")
    @TableField("process_line_num")
    private String processLineNum;

    @ApiModelProperty("工序Id")
    @TableField("process_id")
    private String processId;

    @ApiModelProperty("工序编号")
    @TableField("process_code")
    private String processCode;

    @ApiModelProperty("工序名称")
    @TableField("process_name")
    private String processName;

    @ApiModelProperty("标准工时")
    @TableField("standard_working_hour")
    private Integer standardWorkingHour;

    @ApiModelProperty("标准人数")
    @TableField("standard_num")
    private Integer standardNum;

    @ApiModelProperty("设备类型编码")
    @TableField("eq_type_code")
    private String eqTypeCode;

    @ApiModelProperty("设备类型名称")
    @TableField("eq_type_name")
    private String eqTypeName;

    @ApiModelProperty("设备编码")
    @TableField("eq_code")
    private String eqCode;

    @ApiModelProperty("设备名称")
    @TableField("eq_name")
    private String eqName;

    @ApiModelProperty("模具编码")
    @TableField("mould_code")
    private String mouldCode;

    @ApiModelProperty("模具名称")
    @TableField("mould_name")
    private String mouldName;

    @ApiModelProperty("工序备注")
    @TableField("process_mark")
    private String processMark;

    @ApiModelProperty("工作中心编码")
    @TableField("work_center_code")
    private String workCenterCode;

    @ApiModelProperty("工作中心名称")
    @TableField("work_center_name")
    private String workCenterName;

    @ApiModelProperty("是否首道工序")
    @TableField("first_operation")
    private String firstOperation;

    @ApiModelProperty("是否末道工序")
    @TableField("last_operation")
    private String lastOperation;

    @ApiModelProperty("累计派工数")
    @TableField("total_send_work_num")
    private Integer totalSendWorkNum;

    @ApiModelProperty("累计报工数")
    @TableField("total_report_num")
    private Integer totalReportNum;

    @ApiModelProperty("累计生产数")
    @TableField("total_work_num")
    private Integer totalWorkNum;

    @ApiModelProperty("累计合格数")
    @TableField("total_acceptance_num")
    private Integer totalAcceptanceNum;

    @ApiModelProperty("累计报废数")
    @TableField("total_scrap_num")
    private Integer totalScrapNum;

    @ApiModelProperty("转入数量")
    @TableField("transfer_to_num")
    private Integer transferToNum;

    @ApiModelProperty("转出数量")
    @TableField("roll_out_num")
    private Integer rollOutNum;

    @ApiModelProperty("可用加工数")
    @TableField("usable_process_num")
    private Integer usableProcessNum;

    @ApiModelProperty("可用合格数")
    @TableField("usable_acceptance_num")
    private Integer usableAcceptanceNum;

    @ApiModelProperty("可用报废数")
    @TableField("usable_scrap_num")
    private Integer usableScrapNum;

    @ApiModelProperty("预计开始时间")
    @TableField("predict_start_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate predictStartDate;

    @ApiModelProperty("预计结束时间")
    @TableField("predict_end_date")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private LocalDate predictEndDate;

    @ApiModelProperty("实际开始时间")
    @TableField("real_start_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime realStartDate;


}
